package com.jueyue.dao.util;

/**
 * 获取类的真实名称,去除接口和实现的固定值
 * 
 * @author JueYue
 * @date 2014年1月12日
 * @version 1.0
 */
public class ClassNameUtil {
	// 接口开始字符串截取长度
	private static int interStart = 0;
	// 接口结尾字符串截取长度
	private static int interEnd = 0;
	// 实现开始字符串截取长度
	private static int implStart = 0;
	// 实现结尾字符串截取长度
	private static int implEnd = 0;

	static {
		/**
		 * 根据配置文件计算开始长度和结束长度
		 */
		String defaultName = PublicUtil.getProperties("interfaceDefaultName");
		interStart = defaultName.indexOf("*");
		defaultName = defaultName.substring(defaultName.indexOf("*"));
		interEnd = defaultName.indexOf("#") == -1 ? 0 : defaultName.length()
				- defaultName.indexOf("#");
		defaultName = PublicUtil.getProperties("implementsDefaultName");
		implStart = defaultName.indexOf("*");
		defaultName = defaultName.substring(defaultName.indexOf("*"));
		implEnd = defaultName.indexOf("#") == -1 ? 0 : defaultName.length()
				- defaultName.indexOf("#");
	}

	/**
	 * 接口类的名称
	 * 
	 * @date 2014年1月12日
	 * @param name
	 * @return
	 */
	public static String getInterRealName(String name) {
		String temp = name.substring(interStart, name.length() - interEnd);
		return temp.substring(0, 1).toLowerCase() + temp.substring(1);
	}

	/**
	 * 实现类的名称
	 * 
	 * @date 2014年1月12日
	 * @param name
	 * @return
	 */
	public static String getImplRealName(String name) {
		String temp = name.substring(implStart, name.length() - implEnd);
		return temp.substring(0, 1).toLowerCase() + temp.substring(1);
	}

}
